
const formatDate = (date) => {
    let dd = String(date.getDate()).padStart(2, '0');
    let mm = String(date.getMonth() + 1).padStart(2, '0');
    let yyyy = date.getFullYear();
    return yyyy + '-' + mm + '-' + dd;
}



const locationList = {
    'gn': { 
        'rmcs': [
            "北京首都国际机场", "上海浦东国际机场", "广州白云国际机场", "成都双流国际机场", "深圳宝安国际机场",
            "西安咸阳国际机场", "重庆江北国际机场", "杭州萧山国际机场", "武汉天河国际机场", "南京禄口国际机场"
        ],
        'abcde': [
            "天津滨海国际机场", "厦门高崎国际机场", "青岛流亭国际机场", "大连周水子国际机场", "沈阳桃仙国际机场",
            "长沙黄花国际机场", "昆明长水国际机场", "乌鲁木齐地窝堡国际机场", "哈尔滨太平国际机场", "三亚凤凰国际机场"
        ],
        'fghij': [
            "福州长乐国际机场", "郑州新郑国际机场", "海口美兰国际机场", "南宁吴圩国际机场", "南昌昌北国际机场",
            "贵阳龙洞堡国际机场", "兰州中川国际机场", "长春龙嘉国际机场", "呼和浩特白塔国际机场", "石家庄正定国际机场"
        ],
        'klmno': [
            "济南遥墙国际机场", "太原武宿国际机场", "宁波栎社国际机场", "温州龙湾国际机场", "无锡硕放国际机场"
            , "珠海金湾国际机场", "银川河东国际机场", "西宁曹家堡国际机场", "烟台蓬莱国际机场"
        ],
        'pqret': [
            "徐州观音国际机场", "常州奔牛国际机场", "连云港白塔埠国际机场", "南通兴东国际机场", "绵阳南郊机场",
            "丽江三义机场", "西双版纳嘎洒国际机场", "桂林两江国际机场", "张家界荷花国际机场", "敦煌莫高国际机场"
        ],
        'uvwxyz': [
            "鄂尔多斯伊金霍洛国际机场", "乌兰浩特义勒力特机场", "延吉朝阳川国际机场", "义乌机场", "舟山普陀山机场",
            "遵义茅台机场", "玉树巴塘机场", "台州路桥机场", "潍坊南苑机场", "威海大水泊国际机场"
        ]
    },
    'gj': { // 国外
        'rmcs': [
            "伦敦希思罗机场", "纽约肯尼迪国际机场", "巴黎戴高乐机场", "东京成田国际机场", "新加坡樟宜机场",
            "悉尼金斯福德史密斯国际机场", "迪拜国际机场", "洛杉矶国际机场"
        ],
        'abcde': [
            "阿姆斯特丹史基浦机场", "奥克兰国际机场", "柏林勃兰登堡机场", "布鲁塞尔国际机场", "芝加哥奥黑尔国际机场",
            "哥本哈根凯斯楚普机场", "达拉斯沃斯堡国际机场", "都柏林机场", "爱丁堡机场", "法兰克福机场"
        ],
        'fghij': [
            "日内瓦国际机场", "汉堡机场", "河内内排国际机场", "香港国际机场", "檀香山国际机场", "伊斯坦布尔阿塔图尔克国际机场",
            "雅加达苏加诺-哈达国际机场", "约翰内斯堡奥利弗·坦博国际机场", "吉隆坡国际机场", "利马豪尔赫·查韦斯国际机场"
        ],
        'klmno': [
            "马德里巴拉哈斯机场", "曼谷素万那普国际机场", "墨尔本国际机场", "迈阿密国际机场", "莫斯科谢列梅捷沃国际机场",
            "慕尼黑机场", "孟买贾特拉帕蒂·希瓦吉国际机场", "内罗毕乔莫·肯雅塔国际机场", "大阪关西国际机场", "奥斯陆加勒穆恩机场"
        ],
        'pqret': [
            "布拉格鲁济涅机场", "里约热内卢加利昂国际机场", "罗马菲乌米奇诺机场", "旧金山国际机场", "首尔仁川国际机场",
             "斯德哥尔摩阿兰达机场", "圣保罗瓜鲁柳斯国际机场",
            "台北桃园国际机场", "特拉维夫本·古里安国际机场"
        ],
        'uvwxyz': [
            "温哥华国际机场", "维也纳国际机场", "华沙肖邦机场", "苏黎世机场", "华盛顿杜勒斯国际机场",
            "伦敦盖特威克机场", "东京羽田国际机场", "法兰克福-哈恩机场", "巴塞罗那-埃尔普拉特机场"
        ]
    }
};


const remindList = {
    'gq': [
        '航班发生变动且符合免费改期条件可以在此改期。',
        '免费改期仅可办理一次，请合理安排行程。',
        '暂不支持代码共享航班，国内往返程客票、团队票、轮椅等特殊旅客等客票，如需办理请致电95361。',
    ],
    'tp': [
        '当您的航班发生延误或取消并符合免费退票条件时，您可免费办理退票。',
        '仅限购买深航实际承运国内航班的电子客票(479开头)。仅限单人单程成人客票办理。',
        '非深航官方渠道购买过保险的电子客票，保险费不予退还。',
        '客票如购买保险，可全额退保但退保后不得理赔。如果您有保险理赔的需求，请于理赔成功后再办理退票。',
        '已办理乘机手续的旅客请先取消值机再办理退票。',
        '如您的客票使用里程消费，退票后请联系会员服务热线4008808666返还里程。',
    ],
}

// 预定行程
const ydxc = () => {
    // 默认往返时间
    $("#startTime").val(formatDate(new Date()));
    $("#backTime").val(formatDate(new Date()));

    // 切换单返程
    $("input[name=type]").change(e => {
        if (e.target.dataset.id == 'type-wf') $("#backTimeFrom").show();
        else $("#backTimeFrom").hide();
    })

    // 交换地点
    $("#swapLocation").click((e) => {
        let start = $("#startLocation").val();
        let end = $("#endLocation").val();
        $("#startLocation").val(end);
        $("#endLocation").val(start);
    })

    // 点击输入框弹出地点选择
    $("#startLocation").focus(e => {
        let box = $("#select-location-box");
        box.removeClass("select-location-box-right");
        box.addClass("select-location-box-left");
        box.show();
    })
    $("#startLocation").click(e => {
        e.stopPropagation();
    })
    $("#endLocation").focus(e => {
        let box = $("#select-location-box");
        box.removeClass("select-location-box-left");
        box.addClass("select-location-box-right");
        box.show();
    })
    $("#endLocation").click(e => {
        e.stopPropagation();
    })
    $(window).click(e => {
        $("#select-location-box").hide();
    })
    $("#select-location-box").click(e => {
        e.stopPropagation();
    })

    // 点击地点
    let curLocation = 'gn';
    let curLocationCate = 'rmcs';
    // 渲染地点列表
    const renderLocation = () => {
        let str = '';
        locationList[curLocation][curLocationCate].forEach(e => {
            str += `<li data-id="${e}">` + e + '</li>';
        })
        $(".select-location").html(str);
        $(".select-location").children().click(ev => {
            let box = $("#select-location-box");
            if (box.hasClass("select-location-box-left"))
                $("#startLocation").val(ev.currentTarget.dataset.id);
            else
                $("#endLocation").val(ev.currentTarget.dataset.id);
            box.hide();
        })
    }
    // 点击分类
    $(".location-list").children().click(e => {
        $(".location-list").children().removeClass('active-location');
        $(e.currentTarget).addClass("active-location");
        curLocationCate = e.currentTarget.dataset.id;
        renderLocation();
    })
    // 点击 '国内' / '国际'
    $(".btn-list").children().click(e => {
        $(".btn-list").children().removeClass('select-btn');
        $(e.currentTarget).addClass("select-btn");
        curLocation = e.currentTarget.dataset.id;
        renderLocation();
    })
    renderLocation();

    // 点击 '立即预订'
    $("#ljyd").click(e => {
        let startLocation = $("#startLocation").val();
        let endLocation = $("#endLocation").val();
        let startTime = $("#startTime").val();
        let backTime = $("#backTime").val();
        let fromType = $("input[name=type]").val();

        let data = { startLocation, endLocation, startTime, backTime, fromType };
        console.log(data);
    })    
}

// 机票退改
const jptg = () => {
    // 切换 type
    let type = 'gq';
    $("#jptg-type-list").children().click((e) => {
        $("#jptg-type-list").children().removeClass('select-type');
        $(e.currentTarget).addClass("select-type");
        type = e.target.dataset.id;
        if (type == 'gq') {
            $("#jptg-kphm").show();
            $("#jptg-cfrq").hide();
            $("#jptg-zjhm").show();
            $("#jptg-pzhm").hide();
            $("#hbh-input-box").show();
        } else {
            $("#jptg-kphm").hide();
            $("#jptg-cfrq").show();
            $("#jptg-zjhm").hide();
            $("#jptg-pzhm").show();
            $("#hbh-input-box").hide();
        }
        renderRemind();
    })

    // 温馨提示
    const renderRemind = () => {
        let str = '';
        remindList[type].forEach(item => {
            str += '<li>' + item + '</li>';
        })
        $("#jptg-remind").html(str);
    }
    renderRemind();

    $("#goTime").val(formatDate(new Date()));

    // 点击输入框弹出地点选择
    // $("#startPoint").focus(e => {
    //     console.log(e);
    //     let box = $("#select-point-box");
    //     box.removeClass("select-location-box-right");
    //     box.addClass("select-location-box-left");
    //     box.show();
    // })
    // $("#startPoint").click(e => {
    //     e.stopPropagation();
    // })
    // $("#endPoint").focus(e => {
    //     let box = $("#select-point-box");
    //     box.removeClass("select-location-box-left");
    //     box.addClass("select-location-box-right");
    //     box.show();
    // })
    // $("#endPoint").click(e => {
    //     e.stopPropagation();
    // })
    // $(window).click(e => {
    //     $("#select-point-box").hide();
    // })
    // $("#select-point-box").click(e => {
    //     e.stopPropagation();
    // })
    // 
    // 点击地点
    // let curLocation = 'gn';
    // let curLocationCate = 'rmcs';
    // // 渲染地点列表
    // const renderLocation = () => {
    //     let str = '';
    //     locationList[curLocation][curLocationCate].forEach(e => {
    //         str += `<li data-id="${e}">` + e + '</li>';
    //     })
    //     $(".select-point").html(str);
    //     $(".select-point").children().click(ev => {
    //         let box = $("#select-point-box");
    //         if (box.hasClass("select-location-box-left"))
    //             $("#startPoint").val(ev.currentTarget.dataset.id);
    //         else
    //             $("#endPoint").val(ev.currentTarget.dataset.id);
    //         box.hide();
    //     })
    // }
    // renderLocation();
    // // 点击分类
    // $(".point-list").children().click(e => {
    //     $(".point-list").children().removeClass('active-location');
    //     $(e.currentTarget).addClass("active-location");
    //     curLocationCate = e.currentTarget.dataset.id;
    //     renderLocation();
    // })
    // // 点击 '国内' / '国际'
    // $(".jptg-btn-list").children().click(e => {
    //     $(".jptg-btn-list").children().removeClass('select-btn');
    //     $(e.currentTarget).addClass("select-btn");
    //     curLocation = e.currentTarget.dataset.id;
    //     renderLocation();
    // })

    // 点击 '立即办理'
    $("#ljbl").click(e => {
        let oldNumber = $("#startPoint").val();  // 原航班号
        let newNumber = $("#endPoint").val();  // 新航班号
        let startTime = $("#goTime").val();  // 出发日期
        let username = $("#jptg-name").val();  // 姓名
        let idNumber = $("#idNumber").val();  // 身份证号
        let tpNumber = $("#pzNumber").val();  // 退票的航班号

        let data = { oldNumber, newNumber, startTime, username, idNumber, tpNumber, type };
        console.log(data);
    })   
}

// 订单管理
const ddgl = () => {
    // 点击 '查询订单'
    $("#cxdd").click(e => {
        let name = $("#ddgl-name").val();  // 姓名
        let phone = $("#ddgl-phone").val();  // 手机号

        if (!/^1[3-9]\d{9}$/.test(phone))
            return alert('请输入正确的手机号！');

        let data = { name, phone };
        console.log(data);
    }) 
}

(function () {
    // 头部栏点击切换 type
    let type = 'ydxc';
    $("#select-list").children().click((e) => {
        $("#select-list").children().removeClass('select-item');
        $(e.currentTarget).addClass("select-item");
        type = e.target.dataset.id;
        $('.fly-from').hide();
        $('#' + type).show();
    })
    
    ydxc();
    jptg();
    ddgl();
})()